home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / isc / hmacmd5.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-09-17  |  1.8 KB  |  64 lines

  1. /*
  2.  * Copyright (C) 2004-2006  Internet Systems Consortium, Inc. ("ISC")
  3.  * Copyright (C) 2000, 2001  Internet Software Consortium.
  4.  *
  5.  * Permission to use, copy, modify, and distribute this software for any
  6.  * purpose with or without fee is hereby granted, provided that the above
  7.  * copyright notice and this permission notice appear in all copies.
  8.  *
  9.  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
  10.  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  11.  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
  12.  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  13.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
  14.  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15.  * PERFORMANCE OF THIS SOFTWARE.
  16.  */
  17.  
  18. /* $Id: hmacmd5.h,v 1.5.18.4 2006/01/27 23:57:45 marka Exp $ */
  19.  
  20. /*! \file
  21.  * \brief This is the header file for the HMAC-MD5 keyed hash algorithm
  22.  * described in RFC2104.
  23.  */
  24.  
  25. #ifndef ISC_HMACMD5_H
  26. #define ISC_HMACMD5_H 1
  27.  
  28. #include <isc/lang.h>
  29. #include <isc/md5.h>
  30. #include <isc/types.h>
  31.  
  32. #define ISC_HMACMD5_KEYLENGTH 64
  33.  
  34. typedef struct {
  35.     isc_md5_t md5ctx;
  36.     unsigned char key[ISC_HMACMD5_KEYLENGTH];
  37. } isc_hmacmd5_t;
  38.  
  39. ISC_LANG_BEGINDECLS
  40.  
  41. void
  42. isc_hmacmd5_init(isc_hmacmd5_t *ctx, const unsigned char *key,
  43.          unsigned int len);
  44.  
  45. void
  46. isc_hmacmd5_invalidate(isc_hmacmd5_t *ctx);
  47.  
  48. void
  49. isc_hmacmd5_update(isc_hmacmd5_t *ctx, const unsigned char *buf,
  50.            unsigned int len);
  51.  
  52. void
  53. isc_hmacmd5_sign(isc_hmacmd5_t *ctx, unsigned char *digest);
  54.  
  55. isc_boolean_t
  56. isc_hmacmd5_verify(isc_hmacmd5_t *ctx, unsigned char *digest);
  57.  
  58. isc_boolean_t
  59. isc_hmacmd5_verify2(isc_hmacmd5_t *ctx, unsigned char *digest, size_t len);
  60.  
  61. ISC_LANG_ENDDECLS
  62.  
  63. #endif /* ISC_HMACMD5_H */
  64.